#include <iostream>
#include <vector>
#include <queue>
using namespace std;

int main()
{
	int n;
	cin>>n;
	
	vector<vector<int>> arr(n+1,vector<int>(n+1));
	vector<vector<pair<int,int>>> pre(n+1,vector<pair<int,int>>(n+1,{-1,-1}));
	

	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
			cin>>arr[i][j];
			
	queue<pair<int,int>> q;
	q.push({n-1,n-1});
	vector<pair<int,int>> ret;
	int dx[4]={0,0,1,-1};
	int dy[4]={1,-1,0,0};
	pre[n-1][n-1]={0,0};
	while(q.size())
	{	
		int x=q.front().first;
		int y=q.front().second;
		ret.push_back({x,y});
		q.pop();
		for(int i=0;i<4;i++)
		{
			int nx=x+dx[i];
			int ny=y+dy[i];
			if(nx<0 || nx>=n || ny<0 || ny>=n || pre[nx][ny].first!=-1 || arr[nx][ny])
				continue;
			
			q.push({nx,ny});
			pre[nx][ny]={x,y};
		}
	}
	
	int x=0,y=0;
	while(x!=n-1 || y!=n-1)
	{
		cout<<x<<' '<<y<<endl;
		auto t=pre[x][y];
		x=t.first;
		y=t.second;
	}
	cout<<n-1<<' '<<n-1;
	return 0;
}
